Simulink Code Inspector Report for attitude_controller.slx


Inspected Model File : C:\Users\bpotter\LocalWorkArea\demos\autopilot_R2013b_workarea\attitude_controller.slx
Model Version : 1.67
Simulink Version : 8.2 (R2013b)
Model Checksum : 3613482450 2397358050 2411308074 2601221752
Model Last Modified On : 28-Jan-2014 07:24:13
Inspected Code Files : C:\Users\bpotter\LocalWorkArea\demos\autopilot_R2013b_workarea\slprj\ert\attitude_controller\attitude_controller_data.c
C:\Users\bpotter\LocalWorkArea\demos\autopilot_R2013b_workarea\slprj\ert\_sharedutils\const_params.c
C:\Users\bpotter\LocalWorkArea\demos\autopilot_R2013b_workarea\slprj\ert\attitude_controller\attitude_controller.c
Code Inspection Run On : 03-Feb-2014 08:15:38
 
Overall Inspection Result : Passed

Code Verification Results : Verified

Function Interface Verification Results : Verified

Function Status Details
attitude_controller_initialize Verified -
attitude_controller Verified -

Model To Code Verification Results : Verified

Status Details
Verified
Model objects with status Verified : 32
Model objects with status Partially processed : 0
Model objects with status Unable to process : 0
Model objects with status Failed to verify : 0

Code To Model Verification Results : Verified

Function Status Details
attitude_controller_initialize Verified
Lines of code with status Verified : 2
Lines of code with status Partially processed : 0
Lines of code with status Unable to process : 0
Lines of code with status Failed to verify : 0
attitude_controller Verified
Lines of code with status Verified : 34
Lines of code with status Partially processed : 0
Lines of code with status Unable to process : 0
Lines of code with status Failed to verify : 0

Temporary Variable Usage Results : Verified

Function Status Details
attitude_controller_initialize Verified
Function does not have any temporary variable declarations
attitude_controller Verified
Temporary variables with status Failed to verify : 0
Temporary variables with status Verified : 4


Traceability Results : Traced

Model To Code Traceability Results : Traced

Status Number of model objects
Traced 32
Partially processed 0
Unable to process 0
Failed to trace 0

Code To Model Traceability Results : Traced

Status Number of code lines
Traced 46
Nonfunctional code 87
Not processed 2
Partially processed 0
Unable to process 0
Failed to trace 0

Not processed code:

File : attitude_controller.c

Code location Code
16 #include "attitude_controller.h"
17 #include "attitude_controller_private.h"



Code Verification Details

[-] Function Interface Verification
[-] Function : attitude_controller_initialize
Check Status
Number of function arguments Verified
Function argument names Verified
Function argument data types Verified
Function return type Verified
[-] Function : attitude_controller
Check Status
Number of function arguments Verified
Function argument names Verified
Function argument data types Verified
Function return type Verified
[-] Model To Code Verification
Model : attitude_controller
Model object Status Details
<model>/Disp_Cmd Verified
Virtual/Eliminated (Inport)
<model>/Disp_FB Verified
Virtual/Eliminated (Inport)
<model>/Rate_FB Verified
Virtual/Eliminated (Inport)
<model>/Engaged Verified
Virtual/Eliminated (Inport)
<model>/Cmd Limit Verified
-
<model>/Disp Gain Verified
-
<model>/Disp Limit Verified
-
<model>/Int Gain Verified
-
<model>/Model Info Verified
Virtual/Eliminated (Model Info block)
<model>/Not engaged Verified
-
<model>/Rate Gain Verified
-
<model>/Rate Limit Verified
-
<model>/ResetIntegratorInternal Verified
Virtual/Eliminated (SLCI_Level_Reset_Integrator)
<model>/Sum Verified
-
<model>/Sum1 Verified
-
<model>/Sum2 Verified
-
<model>/Surf_Cmd Verified
-
<model>/Model Info/EmptySubsystem Verified
Virtual/Eliminated (SubSystem)
<model>/ResetIntegratorInternal/U Verified
Virtual/Eliminated (Inport)
<model>/ResetIntegratorInternal/R Verified
Virtual/Eliminated (Inport)
<model>/ResetIntegratorInternal/Constant Verified
-
<model>/ResetIntegratorInternal/Constant1 Verified
-
<model>/ResetIntegratorInternal/Constant2 Verified
-
<model>/ResetIntegratorInternal/Product Verified
-
<model>/ResetIntegratorInternal/Product1 Verified
-
<model>/ResetIntegratorInternal/Saturation Verified
-
<model>/ResetIntegratorInternal/Sum Verified
-
<model>/ResetIntegratorInternal/Switch Verified
-
<model>/ResetIntegratorInternal/Switch1 Verified
-
<model>/ResetIntegratorInternal/X Verified
-
<model>/ResetIntegratorInternal/Y Verified
Virtual/Eliminated (Outport)
dwork initialization code Verified
-
[-] Code To Model Verification
[-] Function : attitude_controller_initialize
Function outputs/state variables Contributing lines of code
*localDW.X_DSTATE Verified
attitude_controller.c:127 Verified
attitude_controller.c:128 Verified
[-] Function : attitude_controller
Function outputs/state variables Contributing lines of code
*localDW.X_DSTATE Verified
attitude_controller_data.c:20 Verified
attitude_controller.c:32 Verified
attitude_controller.c:35 Verified
attitude_controller.c:40 Verified
attitude_controller.c:41 Verified
attitude_controller.c:47 Verified
attitude_controller.c:48 Verified
attitude_controller.c:49 Verified
attitude_controller.c:50 Verified
attitude_controller.c:51 Verified
attitude_controller.c:58 Verified
attitude_controller.c:59 Verified
attitude_controller.c:60 Verified
attitude_controller.c:61 Verified
attitude_controller.c:62 Verified
attitude_controller.c:63 Verified
attitude_controller.c:70 Verified
attitude_controller.c:73 Verified
attitude_controller.c:74 Verified
attitude_controller.c:75 Verified
attitude_controller.c:76 Verified
attitude_controller.c:77 Verified
attitude_controller.c:84 Verified
attitude_controller.c:103 Verified
attitude_controller.c:107 Verified
attitude_controller.c:108 Verified
attitude_controller.c:114 Verified
attitude_controller.c:115 Verified
*rty_Surf_Cmd Verified
attitude_controller.c:32 Verified
attitude_controller.c:35 Verified
attitude_controller.c:40 Verified
attitude_controller.c:41 Verified
attitude_controller.c:47 Verified
attitude_controller.c:48 Verified
attitude_controller.c:49 Verified
attitude_controller.c:50 Verified
attitude_controller.c:51 Verified
attitude_controller.c:58 Verified
attitude_controller.c:59 Verified
attitude_controller.c:60 Verified
attitude_controller.c:61 Verified
attitude_controller.c:62 Verified
attitude_controller.c:63 Verified
attitude_controller.c:70 Verified
attitude_controller.c:73 Verified
attitude_controller.c:74 Verified
attitude_controller.c:75 Verified
attitude_controller.c:76 Verified
attitude_controller.c:77 Verified
attitude_controller.c:84 Verified
attitude_controller.c:89 Verified
attitude_controller.c:92 Verified
attitude_controller.c:93 Verified
attitude_controller.c:94 Verified
attitude_controller.c:95 Verified
attitude_controller.c:96 Verified
attitude_controller.c:97 Verified
attitude_controller.c:103 Verified
attitude_controller.c:108 Verified
[-] Temporary Variable Usage
[-] Function : attitude_controller_initialize
Function does not have any temporary variable declarations
[-] Function : attitude_controller
Temporary variable name Status
rtb_Notengaged Verified
rtb_Sum1 Verified
rtb_Sum2 Verified
y Verified

Traceability Details

[-] Model To Code Traceability
Model : attitude_controller
Model object Code location Details
<model>/Disp_Cmd
-
Virtual/Eliminated (Inport)
<model>/Disp_FB
-
Virtual/Eliminated (Inport)
<model>/Rate_FB
-
Virtual/Eliminated (Inport)
<model>/Engaged
-
Virtual/Eliminated (Inport)
<model>/Cmd Limit
attitude_controller.c:92-96
-
<model>/Disp Gain
attitude_controller.c:70
-
<model>/Disp Limit
attitude_controller.c:58-62
-
<model>/Int Gain
attitude_controller.c:114
-
<model>/Model Info
-
Virtual/Eliminated (Model Info block)
<model>/Not engaged
attitude_controller.c:32 , 103 , 108
-
<model>/Rate Gain
attitude_controller.c:89
-
<model>/Rate Limit
attitude_controller.c:73-77
-
<model>/ResetIntegratorInternal
-
Virtual/Eliminated (SLCI_Level_Reset_Integrator)
<model>/Sum
attitude_controller.c:70
-
<model>/Sum1
attitude_controller.c:84
-
<model>/Sum2
attitude_controller.c:89
-
<model>/Surf_Cmd
attitude_controller.c:93 , 95 , 97
-
<model>/Model Info/EmptySubsystem
-
Virtual/Eliminated (SubSystem)
<model>/ResetIntegratorInternal/U
-
Virtual/Eliminated (Inport)
<model>/ResetIntegratorInternal/R
-
Virtual/Eliminated (Inport)
<model>/ResetIntegratorInternal/Constant
attitude_controller_data.c:20
-
<model>/ResetIntegratorInternal/Constant1
attitude_controller_data.c:20
-
<model>/ResetIntegratorInternal/Constant2
attitude_controller.c:41 , 107
-
<model>/ResetIntegratorInternal/Product
attitude_controller_data.c:20
-
<model>/ResetIntegratorInternal/Product1
attitude_controller.c:114
-
<model>/ResetIntegratorInternal/Saturation
attitude_controller.c:47-51
-
<model>/ResetIntegratorInternal/Sum
attitude_controller.c:115
-
<model>/ResetIntegratorInternal/Switch
attitude_controller.c:40
-
<model>/ResetIntegratorInternal/Switch1
attitude_controller.c:103 , 108
-
<model>/ResetIntegratorInternal/X
attitude_controller.c:35 , 107 , 114
-
<model>/ResetIntegratorInternal/Y
-
Virtual/Eliminated (Outport)
dwork initialization code
attitude_controller.c:127-128
-
[-] Code To Model Traceability
File : attitude_controller.c
Code location Code Model object Details
1 /*
-
Nonfunctional code (Comment)
2 * File: attitude_controller.c
-
Nonfunctional code (Comment)
3 *
-
Nonfunctional code (Comment)
4 * Code generated for Simulink model 'attitude_controller'.
-
Nonfunctional code (Comment)
5 *
-
Nonfunctional code (Comment)
6 * Model version : 1.67
-
Nonfunctional code (Comment)
7 * Simulink Coder version : 8.5 (R2013b) 08-Aug-2013
-
Nonfunctional code (Comment)
8 * C/C++ source code generated on : Mon Feb 03 08:13:29 2014
-
Nonfunctional code (Comment)
9 *
-
Nonfunctional code (Comment)
10 * Target selection: ert.tlc
-
Nonfunctional code (Comment)
11 * Embedded hardware selection: 32-bit Embedded Processor
-
Nonfunctional code (Comment)
12 * Code generation objectives: Unspecified
-
Nonfunctional code (Comment)
13 * Validation result: Not run
-
Nonfunctional code (Comment)
14 */
-
Nonfunctional code (Comment)
15
-
Nonfunctional code (Empty line)
16 #include "attitude_controller.h"
-
Not processed (Include statement)
17 #include "attitude_controller_private.h"
-
Not processed (Include statement)
18
-
Nonfunctional code (Empty line)
19 /* Output and update for referenced model: 'attitude_controller' */
-
Nonfunctional code (Comment)
20 void attitude_controller(const real_T *rtu_Disp_Cmd, const real_T *rtu_Disp_FB, ...
output function interface
-
21 const real_T *rtu_Rate_FB, const boolean_T *rtu_Engaged, real_T *rty_Surf_Cmd,...
output function interface
-
22 rtDW_attitude_controller *localDW, real_T rtp_dispGain, real_T rtp_dispLim,
output function interface
-
23 real_T rtp_rateGain, real_T rtp_rateLim, real_T rtp_intGain, real_T rtp_intLim...
output function interface
-
24 real_T rtp_cmdLim)
output function interface
-
25 {
-
Nonfunctional code (Start of code segment)
26 boolean_T rtb_Notengaged;
-
Local variable declaration
27 real_T rtb_Sum2;
-
Local variable declaration
28 real_T rtb_Sum1;
-
Local variable declaration
29 real_T y;
-
Local variable declaration
30
-
Nonfunctional code (Empty line)
31 /* Logic: '<Root>/Not engaged' */
-
Nonfunctional code (Comment)
32 rtb_Notengaged = !(*rtu_Engaged);
<model>/Not engaged
<model>/Engaged
-
33
-
Nonfunctional code (Empty line)
34 /* UnitDelay: '<S2>/X' */
-
Nonfunctional code (Comment)
35 rtb_Sum2 = localDW->X_DSTATE;
<model>/ResetIntegratorInternal/X
-
36
-
Nonfunctional code (Empty line)
37 /* Switch: '<S2>/Switch' incorporates:
-
Nonfunctional code (Comment)
38 * Constant: '<S2>/Constant2'
-
Nonfunctional code (Comment)
39 */
-
Nonfunctional code (Comment)
40 if (rtb_Notengaged) {
<model>/ResetIntegratorInternal/Switch
-
41 rtb_Sum2 = 0.0;
<model>/ResetIntegratorInternal/Constant2
-
42 }
-
Nonfunctional code (End of code segment)
43
-
Nonfunctional code (Empty line)
44 /* End of Switch: '<S2>/Switch' */
-
Nonfunctional code (Comment)
45
-
Nonfunctional code (Empty line)
46 /* Saturate: '<S2>/Saturation' */
-
Nonfunctional code (Comment)
47 if (rtb_Sum2 >= rtp_intLim) {
<model>/ResetIntegratorInternal/Saturation
-
48 rtb_Sum2 = rtp_intLim;
<model>/ResetIntegratorInternal/Saturation
-
49 } else {
<model>/ResetIntegratorInternal/Saturation
-
50 if (rtb_Sum2 <= (-rtp_intLim)) {
<model>/ResetIntegratorInternal/Saturation
-
51 rtb_Sum2 = -rtp_intLim;
<model>/ResetIntegratorInternal/Saturation
-
52 }
-
Nonfunctional code (End of code segment)
53 }
-
Nonfunctional code (End of code segment)
54
-
Nonfunctional code (Empty line)
55 /* End of Saturate: '<S2>/Saturation' */
-
Nonfunctional code (Comment)
56
-
Nonfunctional code (Empty line)
57 /* Saturate: '<Root>/Disp Limit' */
-
Nonfunctional code (Comment)
58 if ((*rtu_Disp_Cmd) >= rtp_dispLim) {
<model>/Disp_Cmd
<model>/Disp Limit
-
59 y = rtp_dispLim;
<model>/Disp Limit
-
60 } else if ((*rtu_Disp_Cmd) <= (-rtp_dispLim)) {
<model>/Disp_Cmd
<model>/Disp Limit
-
61 y = -rtp_dispLim;
<model>/Disp Limit
-
62 } else {
<model>/Disp Limit
-
63 y = *rtu_Disp_Cmd;
<model>/Disp_Cmd
-
64 }
-
Nonfunctional code (End of code segment)
65
-
Nonfunctional code (Empty line)
66 /* Gain: '<Root>/Disp Gain' incorporates:
-
Nonfunctional code (Comment)
67 * Saturate: '<Root>/Disp Limit'
-
Nonfunctional code (Comment)
68 * Sum: '<Root>/Sum'
-
Nonfunctional code (Comment)
69 */
-
Nonfunctional code (Comment)
70 y = rtp_dispGain * (y - (*rtu_Disp_FB));
<model>/Sum
<model>/Disp_FB
<model>/Disp Gain
-
71
-
Nonfunctional code (Empty line)
72 /* Saturate: '<Root>/Rate Limit' */
-
Nonfunctional code (Comment)
73 if (y >= rtp_rateLim) {
<model>/Rate Limit
-
74 y = rtp_rateLim;
<model>/Rate Limit
-
75 } else {
<model>/Rate Limit
-
76 if (y <= (-rtp_rateLim)) {
<model>/Rate Limit
-
77 y = -rtp_rateLim;
<model>/Rate Limit
-
78 }
-
Nonfunctional code (End of code segment)
79 }
-
Nonfunctional code (End of code segment)
80
-
Nonfunctional code (Empty line)
81 /* Sum: '<Root>/Sum1' incorporates:
-
Nonfunctional code (Comment)
82 * Saturate: '<Root>/Rate Limit'
-
Nonfunctional code (Comment)
83 */
-
Nonfunctional code (Comment)
84 rtb_Sum1 = y - (*rtu_Rate_FB);
<model>/Sum1
<model>/Rate_FB
-
85
-
Nonfunctional code (Empty line)
86 /* Sum: '<Root>/Sum2' incorporates:
-
Nonfunctional code (Comment)
87 * Gain: '<Root>/Rate Gain'
-
Nonfunctional code (Comment)
88 */
-
Nonfunctional code (Comment)
89 y = rtb_Sum2 + (rtp_rateGain * rtb_Sum1);
<model>/Rate Gain
<model>/Sum2
-
90
-
Nonfunctional code (Empty line)
91 /* Saturate: '<Root>/Cmd Limit' */
-
Nonfunctional code (Comment)
92 if (y >= rtp_cmdLim) {
<model>/Cmd Limit
-
93 *rty_Surf_Cmd = rtp_cmdLim;
<model>/Surf_Cmd
<model>/Cmd Limit
-
94 } else if (y <= (-rtp_cmdLim)) {
<model>/Cmd Limit
-
95 *rty_Surf_Cmd = -rtp_cmdLim;
<model>/Surf_Cmd
<model>/Cmd Limit
-
96 } else {
<model>/Cmd Limit
-
97 *rty_Surf_Cmd = y;
<model>/Surf_Cmd
-
98 }
-
Nonfunctional code (End of code segment)
99
-
Nonfunctional code (Empty line)
100 /* End of Saturate: '<Root>/Cmd Limit' */
-
Nonfunctional code (Comment)
101
-
Nonfunctional code (Empty line)
102 /* Switch: '<S2>/Switch1' */
-
Nonfunctional code (Comment)
103 if (rtb_Notengaged) {
<model>/Not engaged
<model>/ResetIntegratorInternal/Switch1
-
104 /* Update for UnitDelay: '<S2>/X' incorporates:
-
Nonfunctional code (Comment)
105 * Constant: '<S2>/Constant2'
-
Nonfunctional code (Comment)
106 */
-
Nonfunctional code (Comment)
107 localDW->X_DSTATE = 0.0;
<model>/ResetIntegratorInternal/X
<model>/ResetIntegratorInternal/Constant2
-
108 } else {
<model>/Not engaged
<model>/ResetIntegratorInternal/Switch1
-
109 /* Update for UnitDelay: '<S2>/X' incorporates:
-
Nonfunctional code (Comment)
110 * Gain: '<Root>/Int Gain'
-
Nonfunctional code (Comment)
111 * Product: '<S2>/Product1'
-
Nonfunctional code (Comment)
112 * Sum: '<S2>/Sum'
-
Nonfunctional code (Comment)
113 */
-
Nonfunctional code (Comment)
114 localDW->X_DSTATE = (attitude_controller_ConstB.Product * (rtp_intGain *
<model>/ResetIntegratorInternal/X
<model>/ResetIntegratorInternal/Product1
<model>/Int Gain
-
115 rtb_Sum1)) + rtb_Sum2;
<model>/ResetIntegratorInternal/Sum
-
116 }
-
Nonfunctional code (End of code segment)
117
-
Nonfunctional code (Empty line)
118 /* End of Switch: '<S2>/Switch1' */
-
Nonfunctional code (Comment)
119 }
-
Nonfunctional code (End of code segment)
120
-
Nonfunctional code (Empty line)
121 /* Model initialize function */
-
Nonfunctional code (Comment)
122 void attitude_controller_initialize(rtDW_attitude_controller *localDW)
initialize function interface
-
123 {
-
Nonfunctional code (Start of code segment)
124 /* Registration code */
-
Nonfunctional code (Comment)
125
-
Nonfunctional code (Empty line)
126 /* states (dwork) */
-
Nonfunctional code (Comment)
127 (void) memset((void *)localDW, 0,
dwork initialization code
-
128 sizeof(rtDW_attitude_controller));
dwork initialization code
-
129 }
-
Nonfunctional code (End of code segment)
130
-
Nonfunctional code (Empty line)
131 /*
-
Nonfunctional code (Comment)
132 * File trailer for generated code.
-
Nonfunctional code (Comment)
133 *
-
Nonfunctional code (Comment)
134 * [EOF]
-
Nonfunctional code (Comment)
135 */
-
Nonfunctional code (Comment)